package com.kingyun.gpsinspection.purificationservice.facade.model.jsm;


import com.kingyun.gpsinspection.purificationservice.common.poi.ExcelVOAttribute;
import com.kingyun.gpsinspection.purificationservice.facade.model.BootstrapSearchBean;
import com.kingyun.gpsinspection.purificationservice.facade.model.File;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * Created by YuPeng on 2016/12/2.
 * 设备实体类
 */
public class Device extends BootstrapSearchBean implements Serializable {

    private static final long serialVersionUID = -2187284068540239449L;

    private String deviceId;
    //内部编码，自动生成，格式20160523110103+4位随机码
    private String deviceInnerCode;
    //客户用的设备编码
    @ExcelVOAttribute(name="设备编号",column = "B")
    private String deviceCode;

    @ExcelVOAttribute(name="设备名称",column = "A")
    private String deviceName;


    private String areaId;

    private String orgId;

    private String entityTypeId;

    private String parentDeviceId;

    //来源1：平台新增；2：系统同步
    private Integer deviceSource;
    //入库时间
    private String inTime;
    //出库时间
    private String outTime;
    //0:在库未使用1:启用 2:删除 3:删除
    private Integer status;

    @ExcelVOAttribute(name="设备型号",column = "D")
    private String deviceModel;

    @ExcelVOAttribute(name="投入使用时间",column = "I")
    private String inUseTime;

    private String devicePic1;

    private String devicePic2;

    private String createId;
    private String createTime;

    private String modifyId;

    private String modifyTime;

    private String description;

    private String manuId;

    private List<File> imgs;

    //新增上传;删除

    private File[] uplodeImgs;

    private File[] delImgs;

    private String enId;

    private String rfid;

    //区域维护选择
    private String regionalMaintenanceId;



    //特性值
    private List<EntityPro> entityPros;

    //删除特性值
    private List<EntityPro> delEntityPros;


    //额定能耗
    private String energyEonsumption;
    //总功率
    private String totalPower;
    //额定功率
    private String powerRating;
    //重量
    private String weight;
   // 重量单位
    private String unitOfWeight;
    //效用年限
    private String ageLimit;
    //制造国别
    private String country;
    //购置日期
    private String buyDate;
    //出厂年月
    private String madeDate;
    //大小/尺寸
    private String sizeDimension;
    //站内编号
    private String stationNumber;
    //技术标识号
    private String technicalIdentificationNum;
    //同步状态
    private String state;
    //安装位置
    @ExcelVOAttribute(name="所属区域",column = "H")
    private String stationPlace;
    //额定能耗单位
    private String ratedEnergyUnit;
    //是否是特种设备
    private String isSpecial;
    //特种设备类型
    private String specialType;
    //主设备标识
    private String maintainIdentify;

    private String parentDeviceName;
    // 20170428新增字段 是否需要维保 IS_MAINTENANCE_FLAG
    private BigDecimal isMaintenanceFlag;
    @ExcelVOAttribute(name="下一次维保时间",column = "K")
    private String  maintenanceNextTime; // 下一次维保时间
    @ExcelVOAttribute(name="最近一次维保时间",column = "L")
    private String  maintenanceNearTime;//最近一次维保时间
    private BigDecimal  installationLevel;
    private String  useAddr;  // 出厂编号
    private String  outManuNum;  // 出厂编号
   // 出厂编号	OUT_MANU_NUM		<None>	NVARCHAR2 (32)	32		FALSE	FALSE	FALSE
    private  String erpNo;// ERP编号
    private  String mainDesignParameter; // 主要性能参数

    @ExcelVOAttribute(name="停用时间",column = "J")
    private  String downTime; // 停用时间


    @ExcelVOAttribute(name="设备自编号",column = "F")
    private  String orgZzname; // 井站自编号

    //设备分类特性
    private List<DeviceParamer> deviceParamers;
    // 设备维保周期
    List<DeviceMaintenance> deviceMaintenances;
    // 删除设备维保周期的问题
    List<DeviceMaintenance> delDeviceMaintenances;


    public Device(){}
    public Device(String deviceId){
        this.deviceId = deviceId;
    }

    public List<File> getImgs() {
        return imgs;
    }

    public void setImgs(List<File> imgs) {
        this.imgs = imgs;
    }

    public File[] getUplodeImgs() {
        return uplodeImgs;
    }

    public void setUplodeImgs(File[] uplodeImgs) {
        this.uplodeImgs = uplodeImgs;
    }

    public File[] getDelImgs() {
        return delImgs;
    }

    public void setDelImgs(File[] delImgs) {
        this.delImgs = delImgs;
    }

    public String getManuId() {
        return manuId;
    }

    public void setManuId(String manuId) {
        this.manuId = manuId;
    }

    public String getDeviceModel() {
        return deviceModel;
    }

    public void setDeviceModel(String deviceModel) {
        this.deviceModel = deviceModel;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceInnerCode() {
        return deviceInnerCode;
    }

    public void setDeviceInnerCode(String deviceInnerCode) {
        this.deviceInnerCode = deviceInnerCode;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getAreaId() {
        return areaId;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }


    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }


    public String getEntityTypeId() {
        return entityTypeId;
    }

    public void setEntityTypeId(String entityTypeId) {
        this.entityTypeId = entityTypeId;
    }


    public String getParentDeviceId() {
        return parentDeviceId;
    }

    public void setParentDeviceId(String parentDeviceId) {
        this.parentDeviceId = parentDeviceId;
    }


    public Integer getDeviceSource() {
        return deviceSource;
    }

    public void setDeviceSource(Integer deviceSource) {
        this.deviceSource = deviceSource;
    }

    public String getInTime() {
        return inTime;
    }

    public void setInTime(String inTime) {
        this.inTime = inTime;
    }

    public String getOutTime() {
        return outTime;
    }

    public void setOutTime(String outTime) {
        this.outTime = outTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getInUseTime() {
        return inUseTime;
    }

    public void setInUseTime(String inUseTime) {
        this.inUseTime = inUseTime;
    }

    public String getDevicePic1() {
        return devicePic1;
    }

    public void setDevicePic1(String devicePic1) {
        this.devicePic1 = devicePic1;
    }

    public String getDevicePic2() {
        return devicePic2;
    }

    public void setDevicePic2(String devicePic2) {
        this.devicePic2 = devicePic2;
    }

    public String getCreateId() {
        return createId;
    }

    public void setCreateId(String createId) {
        this.createId = createId;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getModifyId() {
        return modifyId;
    }

    public void setModifyId(String modifyId) {
        this.modifyId = modifyId;
    }

    public String getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(String modifyTime) {
        this.modifyTime = modifyTime;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getEnergyEonsumption() {
        return energyEonsumption;
    }

    public void setEnergyEonsumption(String energyEonsumption) {
        this.energyEonsumption = energyEonsumption;
    }

    public String getTotalPower() {
        return totalPower;
    }

    public void setTotalPower(String totalPower) {
        this.totalPower = totalPower;
    }

    public String getPowerRating() {
        return powerRating;
    }

    public void setPowerRating(String powerRating) {
        this.powerRating = powerRating;
    }

    public String getWeight() {
        return weight;
    }

    public void setWeight(String weight) {
        this.weight = weight;
    }

    public String getUnitOfWeight() {
        return unitOfWeight;
    }

    public void setUnitOfWeight(String unitOfWeight) {
        this.unitOfWeight = unitOfWeight;
    }

    public String getAgeLimit() {
        return ageLimit;
    }

    public void setAgeLimit(String ageLimit) {
        this.ageLimit = ageLimit;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getBuyDate() {
        return buyDate;
    }

    public void setBuyDate(String buyDate) {
        this.buyDate = buyDate;
    }

    public String getMadeDate() {
        return madeDate;
    }

    public void setMadeDate(String madeDate) {
        this.madeDate = madeDate;
    }

    public String getSizeDimension() {
        return sizeDimension;
    }

    public void setSizeDimension(String sizeDimension) {
        this.sizeDimension = sizeDimension;
    }

    public String getStationNumber() {
        return stationNumber;
    }

    public void setStationNumber(String stationNumber) {
        this.stationNumber = stationNumber;
    }

    public String getTechnicalIdentificationNum() {
        return technicalIdentificationNum;
    }

    public void setTechnicalIdentificationNum(String technicalIdentificationNum) {
        this.technicalIdentificationNum = technicalIdentificationNum;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getStationPlace() {
        return stationPlace;
    }

    public void setStationPlace(String stationPlace) {
        this.stationPlace = stationPlace;
    }

    public String getRatedEnergyUnit() {
        return ratedEnergyUnit;
    }

    public void setRatedEnergyUnit(String ratedEnergyUnit) {
        this.ratedEnergyUnit = ratedEnergyUnit;
    }

    public String getIsSpecial() {
        return isSpecial;
    }

    public void setIsSpecial(String isSpecial) {
        this.isSpecial = isSpecial;
    }

    public String getSpecialType() {
        return specialType;
    }

    public void setSpecialType(String specialType) {
        this.specialType = specialType;
    }

    public String getMaintainIdentify() {
        return maintainIdentify;
    }

    public void setMaintainIdentify(String maintainIdentify) {
        this.maintainIdentify = maintainIdentify;
    }

    public List<EntityPro> getEntityPros() {
        return entityPros;
    }

    public void setEntityPros(List<EntityPro> entityPros) {
        this.entityPros = entityPros;
    }


    public String getEnId() {
        return enId;
    }

    public void setEnId(String enId) {
        this.enId = enId;
    }

    public String getParentDeviceName() {
        return parentDeviceName;
    }

    public void setParentDeviceName(String parentDeviceName) {
        this.parentDeviceName = parentDeviceName;
    }


    public String getRfid() {
        return rfid;
    }

    public void setRfid(String rfid) {
        this.rfid = rfid;
    }

    public String getRegionalMaintenanceId() {
        return regionalMaintenanceId;
    }

    public void setRegionalMaintenanceId(String regionalMaintenanceId) {
        this.regionalMaintenanceId = regionalMaintenanceId;
    }

    public BigDecimal getIsMaintenanceFlag() {
        return isMaintenanceFlag;
    }

    public void setIsMaintenanceFlag(BigDecimal isMaintenanceFlag) {
        this.isMaintenanceFlag = isMaintenanceFlag;
    }

    public String getMaintenanceNextTime() {
        return maintenanceNextTime;
    }

    public void setMaintenanceNextTime(String maintenanceNextTime) {
        this.maintenanceNextTime = maintenanceNextTime;
    }

    public String getMaintenanceNearTime() {
        return maintenanceNearTime;
    }

    public void setMaintenanceNearTime(String maintenanceNearTime) {
        this.maintenanceNearTime = maintenanceNearTime;
    }

    public BigDecimal getInstallationLevel() {
        return installationLevel;
    }

    public void setInstallationLevel(BigDecimal installationLevel) {
        this.installationLevel = installationLevel;
    }

    public String getUseAddr() {
        return useAddr;
    }

    public void setUseAddr(String useAddr) {
        this.useAddr = useAddr;
    }

    public String getOutManuNum() {
        return outManuNum;
    }

    public void setOutManuNum(String outManuNum) {
        this.outManuNum = outManuNum;
    }

    public String getErpNo() {
        return erpNo;
    }

    public void setErpNo(String erpNo) {
        this.erpNo = erpNo;
    }

    public String getMainDesignParameter() {
        return mainDesignParameter;
    }

    public void setMainDesignParameter(String mainDesignParameter) {
        this.mainDesignParameter = mainDesignParameter;
    }

    public String getDownTime() {
        return downTime;
    }

    public void setDownTime(String downTime) {
        this.downTime = downTime;
    }

    public String getOrgZzname() {
        return orgZzname;
    }

    public void setOrgZzname(String orgZzname) {
        this.orgZzname = orgZzname;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public List<DeviceParamer> getDeviceParamers() {
        return deviceParamers;
    }

    public void setDeviceParamers(List<DeviceParamer> deviceParamers) {
        this.deviceParamers = deviceParamers;
    }

    public List<DeviceMaintenance> getDeviceMaintenances() {
        return deviceMaintenances;
    }

    public void setDeviceMaintenances(List<DeviceMaintenance> deviceMaintenances) {
        this.deviceMaintenances = deviceMaintenances;
    }

    public List<DeviceMaintenance> getDelDeviceMaintenances() {
        return delDeviceMaintenances;
    }

    public void setDelDeviceMaintenances(List<DeviceMaintenance> delDeviceMaintenances) {
        this.delDeviceMaintenances = delDeviceMaintenances;
    }

    public List<EntityPro> getDelEntityPros() {
        return delEntityPros;
    }

    public void setDelEntityPros(List<EntityPro> delEntityPros) {
        this.delEntityPros = delEntityPros;
    }
}
